import scrapy
from game.items import GameItem

class XiaoyouxiSpider(scrapy.Spider):
    name = "xiaoyouxi"   #蜘蛛（爬虫）名字
    allowed_domains = ["4399.com"]  #指定域名
    start_urls = ["https://www.4399.com/flash/"] #第一次请求的地址路径

    #parse对响应回来的文本进行解析
    def parse(self, response):
        # 可以直接调用response中的xpath方法对页面进行解析
        # lilist拿到所有游戏对应的li标签
        lilist=response.xpath("//*[@id='skinbody']/div[8]/ul/li")
        for li in lilist:
            # 直接使用xpath方法找到的标签结果为选择器，若想直接从选择器中拿到结果extract
            # extract返回的数据类型是一个list
            # 若list中只有一个数据结果可以使用extract_first
            game_name=li.xpath("./a/b/text()").extract_first()
            game_type=li.xpath("./em/a/text()").extract_first()
            game_date = li.xpath("./em/text()").extract_first()
            # 数据可以以字典类型或item类型进行返回
            # dict1={
            #     "game_name":game_name,
            #     "game_type":game_type,
            #     "game_date":game_date
            # }
            # 使用yield将数据结果返回
            # yield dict1
            game_item=GameItem()
            game_item["game_name"]=game_name
            game_item["game_type"]=game_type
            game_item["game_date"]=game_date
            yield game_item


        pass
